Vapi Metadata Metamodel Type

Vapi Metadata Metamodel Type
Vapi Metadata Metamodel Type

The Vapi Metadata Metamodel Type schema describes the type information of a typed element in the interface definiton language. The following elements in the metamodel are typed:

  • Field element in a structure element. See Vapi Metadata Metamodel StructureInfo.fields
  • Parameter element in an operation element. See Vapi Metadata Metamodel OperationInfo.params
  • Result element in an operation element. See Vapi Metadata Metamodel OperationInfo.output The type could be one of the three following categories:
  • Built-in types: These are types present in the interface definition language type system. They are provided by the infrastructure.
  • User defined named type: API designers can create custom types and use them for the typed elements. These types have a unique identifier.
  • Generic type instantiation: The language infrastructure also provides generic types such as list, map, set and so on. An instantiation of one of these generic types could also be used for the typed elements.
JSON Example
{
    "category": "string",
    "builtin_type": "string",
    "user_defined_type": {
        "resource_type": "string",
        "resource_id": "string"
    },
    "generic_instantiation": "Vapi Metadata Metamodel GenericInstantiation Object"
}
string
category
Required

Category of this type.

For more information see: Vapi Metadata Metamodel Type Category.

string
builtin_type
Optional

Category of the built-in type.

For more information see: Vapi Metadata Metamodel Type BuiltinType.

This property is optional and it is only relevant when the value of category is Vapi Metadata Metamodel Type Category.BUILTIN.

user_defined_type
Optional

Identifier and type of the user defined type.

This property is optional and it is only relevant when the value of category is Vapi Metadata Metamodel Type Category.USER_DEFINED.

generic_instantiation
Optional

Instantiation of one of the generic types available in the interface definition language.

This property is optional and it is only relevant when the value of category is Vapi Metadata Metamodel Type Category.GENERIC.